<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<meta name="generator" content="JsDoc Toolkit" />
		
		<title>JsDoc Reference - GREUtils.Dir</title>

		<style type="text/css">
			/* default.css */
body
{
	font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
	width: 800px;
}

.header
{
	clear: both;
	background-color: #ccc;
	padding: 8px;
}

h1
{
	font-size: 150%;
	font-weight: bold;
	padding: 0;
	margin: 1em 0 0 .3em;
}

hr
{
	border: none 0;
	border-top: 1px solid #7F8FB1;
	height: 1px;
}

pre.code
{
	display: block;
	padding: 8px;
	border: 1px dashed #ccc;
}

#index
{
	margin-top: 24px;
	float: left;
	width: 160px;
	position: absolute;
	left: 8px;
	background-color: #F3F3F3;
	padding: 8px;
}

#content
{
	margin-left: 190px;
	width: 600px;
}

.classList
{
	list-style-type: none;
	padding: 0;
	margin: 0 0 0 8px;
	font-family: arial, sans-serif;
	font-size: 1em;
	overflow: auto;
}

.classList li
{
	padding: 0;
	margin: 0 0 8px 0;
}

.summaryTable { width: 100%; }

h1.classTitle
{
	font-size:170%;
	line-height:130%;
}

h2 { font-size: 110%; }
caption, div.sectionTitle
{
	background-color: #7F8FB1;
	color: #fff;
	font-size:130%;
	text-align: left;
	padding: 2px 6px 2px 6px;
	border: 1px #7F8FB1 solid;
}

div.sectionTitle { margin-bottom: 8px; }
.summaryTable thead { display: none; }

.summaryTable td
{
	vertical-align: top;
	padding: 4px;
	border-bottom: 1px #7F8FB1 solid;
	border-right: 1px #7F8FB1 solid;
}

/*col#summaryAttributes {}*/
.summaryTable td.attributes
{
	border-left: 1px #7F8FB1 solid;
	width: 140px;
	text-align: right;
}

td.attributes, .fixedFont
{
	line-height: 15px;
	color: #002EBE;
	font-family: "Courier New",Courier,monospace;
	font-size: 13px;
}

.summaryTable td.nameDescription
{
	text-align: left;
	font-size: 13px;
	line-height: 15px;
}

.summaryTable td.nameDescription, .description
{
	line-height: 15px;
	padding: 4px;
	padding-left: 4px;
}

.summaryTable { margin-bottom: 8px; }

ul.inheritsList
{
	list-style: square;
	margin-left: 20px;
	padding-left: 0;
}

.detailList {
	margin-left: 20px; 
	line-height: 15px;
}
.detailList dt { margin-left: 20px; }

.detailList .heading
{
	font-weight: bold;
	padding-bottom: 6px;
	margin-left: 0;
}

.light, td.attributes, .light a:link, .light a:visited
{
	color: #777;
	font-style: italic;
}

.fineprint
{
	text-align: right;
	font-size: 10px;
}
		</style>
	</head>

	<body>
<!-- ============================== header ================================= -->	
		<!-- begin static/header.html -->
		<div id="header">
</div>
		<!-- end static/header.html -->

<!-- ============================== classes index ============================ -->
		<div id="index">
			<!-- begin publish.classesIndex -->
			<div align="center"><a href="../index.html">Class Index</a>
| <a href="../files.html">File Index</a></div>
<hr />
<h2>Classes</h2>
<ul class="classList">
	
	<li><i><a href="../symbols/_global_.html">_global_</a></i></li>
	
	<li><a href="../symbols/GREUtils.html">GREUtils</a></li>
	
	<li><a href="../symbols/GREUtils.Charset.html">GREUtils.Charset</a></li>
	
	<li><a href="../symbols/GREUtils.ControllerAdapter.html">GREUtils.ControllerAdapter</a></li>
	
	<li><a href="../symbols/GREUtils.CryptoHash.html">GREUtils.CryptoHash</a></li>
	
	<li><a href="../symbols/GREUtils.Dialog.html">GREUtils.Dialog</a></li>
	
	<li><a href="../symbols/GREUtils.Dir.html">GREUtils.Dir</a></li>
	
	<li><a href="../symbols/GREUtils.File.html">GREUtils.File</a></li>
	
	<li><a href="../symbols/GREUtils.JSON.html">GREUtils.JSON</a></li>
	
	<li><a href="../symbols/GREUtils.Pref.html">GREUtils.Pref</a></li>
	
	<li><a href="../symbols/GREUtils.Sound.html">GREUtils.Sound</a></li>
	
	<li><a href="../symbols/GREUtils.Thread.html">GREUtils.Thread</a></li>
	
	<li><a href="../symbols/GREUtils.Thread.CallbackRunnableAdapter.html">GREUtils.Thread.CallbackRunnableAdapter</a></li>
	
	<li><a href="../symbols/GREUtils.Thread.WorkerRunnableAdapter.html">GREUtils.Thread.WorkerRunnableAdapter</a></li>
	
	<li><a href="../symbols/GREUtils.XPCOM.html">GREUtils.XPCOM</a></li>
	
</ul>
<hr />
			<!-- end publish.classesIndex -->
		</div>
		
		<div id="content">
<!-- ============================== class title ============================ -->
			<h1 class="classTitle">
				
				Namespace GREUtils.Dir
			</h1>

<!-- ============================== class summary ========================== -->			
			<p class="description">
				
			
				GREUtils.Dir
A set of utility functions that provide various directory operations on the
local file system in a platform-independent manner.
				
				
					<br /><i>Defined in: </i> <a href="../symbols/src/_home_rack_workspace_greutils_dist_GREUtils.js.html">GREUtils.js</a>.
				
			</p>

<!-- ============================== constructor summary ==================== -->			
			
			<table class="summaryTable" cellspacing="0" summary="A summary of the constructor documented in the class GREUtils.Dir.">
				<caption>Namespace Summary</caption>
				<thead>
					<tr>
						<th scope="col">Constructor Attributes</th>
						<th scope="col">Constructor Name and Description</th>
					</tr>
				</thead>
				<tbody>
					<tr>
						<td class="attributes">&nbsp;</td>
						<td class="nameDescription" >
							<div class="fixedFont">
								<b><a href="../symbols/GREUtils.Dir.html#constructor">GREUtils.Dir</a></b>
							</div>
							<div class="description">A set of utility functions that provide various directory operations on the
local file system in a platform-independent manner.</div>
						</td>
					</tr>
				</tbody>
			</table>
			

<!-- ============================== properties summary ===================== -->
			

<!-- ============================== methods summary ======================== -->
			
				
				
				<table class="summaryTable" cellspacing="0" summary="A summary of the methods documented in the class GREUtils.Dir.">
					<caption>Method Summary</caption>
					<thead>
						<tr>
							<th scope="col">Method Attributes</th>
							<th scope="col">Method Name and Description</th>
						</tr>
					</thead>
					<tbody>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">GREUtils.Dir.<b><a href="../symbols/GREUtils.Dir.html#.contains">contains</a></b>(aPath, aFile)
								</div>
								<div class="description">Tests whether a file is a descendant of a directory.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">GREUtils.Dir.<b><a href="../symbols/GREUtils.Dir.html#.create">create</a></b>(aPath)
								</div>
								<div class="description">Creates a new file at the given path with default permissions and returns
an nsILocalFile instance representing the file.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">GREUtils.Dir.<b><a href="../symbols/GREUtils.Dir.html#.getFile">getFile</a></b>(aPath, autoCreate)
								</div>
								<div class="description">Returns a nsILocalFile instsance representing the given file.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">GREUtils.Dir.<b><a href="../symbols/GREUtils.Dir.html#.readDir">readDir</a></b>(aPath)
								</div>
								<div class="description">Reads directory entries.</div>
							</td>
						</tr>
					
						<tr>
							<td class="attributes">&lt;static&gt; &nbsp;</td>
							<td class="nameDescription">
								<div class="fixedFont">GREUtils.Dir.<b><a href="../symbols/GREUtils.Dir.html#.remove">remove</a></b>(aPath, aRecursive)
								</div>
								<div class="description">Removes a directory.</div>
							</td>
						</tr>
					
					</tbody>
				</table>
				
				
				
			

<!-- ============================== constructor details ==================== -->		
			
			<div class="details"><a name="constructor"> </a>
				<div class="sectionTitle">
					Namespace Detail
				</div>
				
				<div class="fixedFont">
						<b>GREUtils.Dir</b>
				</div>
				
				<div class="description">
					A set of utility functions that provide various directory operations on the
local file system in a platform-independent manner.
					
				</div>
				
				
				
				
					
					
					
					
					
					
					

			</div>
			

<!-- ============================== field details ========================== -->		
			

<!-- ============================== method details ========================= -->		
			
				<div class="sectionTitle">
					Method Detail
				</div>
				
					<a name=".contains"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Boolean}</span>
					<span class="light">GREUtils.Dir.</span><b>contains</b>(aPath, aFile)
					
					</div>
					<div class="description">
						Tests whether a file is a descendant of a directory.

This method will also return false if either file or the directory does not exist.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>aPath</b>
									
								</dt>
								<dd>This is the directory to test</dd>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>aFile</b>
									
								</dt>
								<dd>This is the full path of the file to test</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Boolean}</span> Returns true if the file is a descendant of the directory, false otherwise</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".create"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{nsILocalFile}</span>
					<span class="light">GREUtils.Dir.</span><b>create</b>(aPath)
					
					</div>
					<div class="description">
						Creates a new file at the given path with default permissions and returns
an nsILocalFile instance representing the file.

If the file already exists, that file is returned. If the file cannot be created,
null is returned.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>aPath</b>
									
								</dt>
								<dd>This is the file path</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{nsILocalFile}</span> The file, or null if the file does not exist and is not/cannot be created</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".getFile"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{nsILocalFile}</span>
					<span class="light">GREUtils.Dir.</span><b>getFile</b>(aPath, autoCreate)
					
					</div>
					<div class="description">
						Returns a nsILocalFile instsance representing the given file.

Bt setting autoCreate to "true", this method will attempt to create the file
with default permissions if the file does not already exists.

If the file does not exist and is not/cannot be created, null will be returned.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>aPath</b>
									
								</dt>
								<dd>This is the file path</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>autoCreate</b>
									
								</dt>
								<dd>This flag indicates whether to create the file if it does not exist; false by default</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{nsILocalFile}</span> The file, or null if the file does not exist and is not/cannot be created</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".readDir"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Object}</span>
					<span class="light">GREUtils.Dir.</span><b>readDir</b>(aPath)
					
					</div>
					<div class="description">
						Reads directory entries.

This method returns the directory entries as an array. Each array
element can be a string representing a file path, or an array of representing
a sub-directory.

If the given path is not a directory an empty array is returned.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>aPath</b>
									
								</dt>
								<dd>This is the directory path</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Object}</span> Returns the directory entries as an array of strings containing file paths</dd>
							
							</dl>
						
						
						

					<hr />
				
					<a name=".remove"> </a>
					<div class="fixedFont">&lt;static&gt; 
					
					<span class="light">{Int}</span>
					<span class="light">GREUtils.Dir.</span><b>remove</b>(aPath, aRecursive)
					
					</div>
					<div class="description">
						Removes a directory.

If aRecursive is false, then the directory must be empty before it can be deleted.
						
						
					</div>
					
					
					
						
							<dl class="detailList">
							<dt class="heading">Parameters:</dt>
							
								<dt>
									<span class="light fixedFont">{String}</span> <b>aPath</b>
									
								</dt>
								<dd>This is the directory path</dd>
							
								<dt>
									<span class="light fixedFont">{Boolean}</span> <b>aRecursive</b>
									
								</dt>
								<dd>This flag indicates if directory is to be deleted if it is not empty</dd>
							
							</dl>
						
						
						
						
						
							<dl class="detailList">
							<dt class="heading">Returns:</dt>
							
								<dd><span class="light fixedFont">{Number}</span> void  : directory is successfully removed
                                     -1    : path does not exist
                                     -2    : aPath is not a directory
                                     -3    : delete fails</dd>
							
							</dl>
						
						
						

					
				
			
			
			<hr />
		</div>
		
<!-- ============================== footer ================================= -->
		<div class="fineprint" style="clear:both">
			
			Documentation generated by <a href="http://www.jsdoctoolkit.org/" target="_blank">JsDoc Toolkit</a> 2.0.1 on Thu Aug 28 2008 13:30:54 GMT+0800 (CST)
		</div>
	</body>
</html>
